package com.dkd.common.filter;

import com.alibaba.fastjson2.filter.SimplePropertyPreFilter;

/**
 * 排除JSON敏感属性
 * 
 * 本类继承自SimplePropertyPreFilter，用于在序列化JSON时排除敏感属性
 * 主要用途是防止敏感信息被错误地序列化到JSON中，从而提高系统的安全性
 *
 * @author ruoyi
 */
public class PropertyPreExcludeFilter extends SimplePropertyPreFilter
{
    /**
     * 默认构造函数
     */
    public PropertyPreExcludeFilter()
    {
    }

    /**
     * 添加需要排除的属性
     *
     * 通过调用此方法，可以指定在序列化过程中不需要出现在JSON中的属性
     * 这对于保护敏感信息非常重要，例如密码、个人身份信息等
     *
     * @param filters 需要排除的属性名称数组
     * @return 返回当前实例，支持链式调用
     */
    public PropertyPreExcludeFilter addExcludes(String... filters)
    {
        for (int i = 0; i < filters.length; i++)
        {
            this.getExcludes().add(filters[i]);
        }
        return this;
    }
}

